home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / DATETIME.SWG / 0042_Day Of Week.pas < prev    next >
Pascal/Delphi Source File  |  1994-05-26  |  1KB  |  44 lines

  1. {Returns a string or an integer, what ever you want}
  2. {You fix for leap year}
  3.  
  4. unit dow;
  5. interface
  6.  
  7. const
  8.   saDayOfWeek : array [0..6] of string =
  9.      ('Monday','Tuesday','Wednesday','Thursday',
  10.      'Friday','Saturday','Sunday');
  11.  
  12. type
  13.    spString  = ^string;
  14.  
  15. function IntDow(yyyy,mm,dd : integer) : integer;
  16. function StrDow(yyyy,mm,dd : integer) : spString;
  17.  
  18. implementation
  19.    
  20. function IntDow(yyyy,mm,dd : integer) : integer;
  21.    var
  22.       iAddVal : shortint;
  23.    begin
  24.       if mm < 3 then iAddVal := 1 else iAddVal := 0;
  25.       IntDow := (((3*(yyyy)-(7*((yyyy)+((mm)+9) div 12)) 
  26.          div 4+(23*(mm)) div 9+(dd)+2 
  27.          +(((yyyy)-iAddVal) div 100+1)*3 div 4-16) mod 7));
  28.    end;
  29.  
  30. function StrDow(yyyy,mm,dd : integer): spString;
  31.    var 
  32.       sReturnString : string;
  33.    begin
  34.       sReturnString := saDayOfWeek[IntDow(yyyy, mm, dd)];
  35.       StrDow := @sReturnString;
  36.    end;   
  37. end.
  38. {test file}
  39.  
  40. uses dow;
  41. begin
  42.    write(StrDow(1995, 10,08)^);
  43. end.
  44.